/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.mybeans;

import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JOptionPane;

/**
 *
 * @author avbravo
 */
public class ArregloPagoImpuestosBeans {

    private int idArregloPago;
    private String idRegimen;
    private double deuda;
    private int mesesmorosos;
    private String activo;
    private String idMunicipio;
    private java.sql.Date fecha;
    private String estatus;
    private String comentario;
    Sesion sesion;
    static private int NumeroRegistrosLista = -1;
    static List<String> ListaIdRegimen = new ArrayList<String>();
    static List<String> ListaRegimen = new ArrayList<String>();
    static List<Double> ListaDeuda = new ArrayList<Double>();
    static List<Integer> ListaMesesMorosos = new ArrayList<Integer>();
    static List<String> ListaComentario = new ArrayList<String>();

    public ArregloPagoImpuestosBeans() {
        sesion = new Sesion();
    }

    public static List<String> getListaComentario() {
        return ListaComentario;
    }

    public static void setListaComentario(List<String> ListaComentario) {
        ArregloPagoImpuestosBeans.ListaComentario = ListaComentario;
    }

    public static List<Double> getListaDeuda() {
        return ListaDeuda;
    }

    public static void setListaDeuda(List<Double> ListaDeuda) {
        ArregloPagoImpuestosBeans.ListaDeuda = ListaDeuda;
    }

    public static List<String> getListaIdRegimen() {
        return ListaIdRegimen;
    }

    public static void setListaIdRegimen(List<String> ListaIdRegimen) {
        ArregloPagoImpuestosBeans.ListaIdRegimen = ListaIdRegimen;
    }

    public static List<Integer> getListaMesesMorosos() {
        return ListaMesesMorosos;
    }

    public static void setListaMesesMorosos(List<Integer> ListaMesesMorosos) {
        ArregloPagoImpuestosBeans.ListaMesesMorosos = ListaMesesMorosos;
    }

    public static List<String> getListaRegimen() {
        return ListaRegimen;
    }

    public static void setListaRegimen(List<String> ListaRegimen) {
        ArregloPagoImpuestosBeans.ListaRegimen = ListaRegimen;
    }

    public static int getNumeroRegistrosLista() {
        return NumeroRegistrosLista;
    }

    public static void setNumeroRegistrosLista(int NumeroRegistrosLista) {
        ArregloPagoImpuestosBeans.NumeroRegistrosLista = NumeroRegistrosLista;
    }

    public String getComentario() {
        return comentario;
    }

    public void setComentario(String comentario) {
        this.comentario = comentario;
    }

    public String getEstatus() {
        return estatus;
    }

    public void setEstatus(String estatus) {
        this.estatus = estatus;
    }

    public double getDeuda() {
        return deuda;
    }

    public void setDeuda(double deuda) {
        this.deuda = deuda;
    }

    public String getIdRegimen() {
        return idRegimen;
    }

    public void setIdRegimen(String idRegimen) {
        this.idRegimen = idRegimen;
    }

    public int getMesesmorosos() {
        return mesesmorosos;
    }

    public void setMesesmorosos(int mesesmorosos) {
        this.mesesmorosos = mesesmorosos;
    }

    public Date getFecha() {
        return fecha;
    }

    public void setFecha(Date fecha) {
        this.fecha = fecha;
    }

    public String getActivo() {
        return activo;
    }

    public void setActivo(String activo) {
        this.activo = activo;
    }

    public String getIdMunicipio() {
        return idMunicipio;
    }

    public void setIdMunicipio(String idMunicipio) {
        this.idMunicipio = idMunicipio;
    }

    public int getIdArregloPago() {
        return idArregloPago;
    }

    public void setIdArregloPago(int idArregloPago) {
        this.idArregloPago = idArregloPago;
    }
    /*
     * ---------------------------------
     * |             Guardar           |
     * ---------------------------------
     */

    public boolean Guardar() {
        try {
            if (sesion.Conectar() == false) {
                JOptionPane.showMessageDialog(null, "No se pudo establecer la conexion", "Mensaje", JOptionPane.INFORMATION_MESSAGE);
                return false;
            }
            String sql = "INSERT into arreglopagoimpuestos (" +
                    "IDARREGLOPAGO," +
                    "IDREGIMEN," +
                    "DEUDA," +
                    "MESESMOROSOS," +
                    "ESTATUS," +
                    "COMENTARIO," +
                    "ACTIVO," +
                    "IDMUNICIPIO," +
                    "FECHA," +
                    "USERNAME)" +
                    "VALUES (?,?,?,?,?,?,?,?,?,?)";
            PreparedStatement prest = sesion.con.prepareStatement(sql);
            prest.setInt(1, this.idArregloPago);
            prest.setString(2, this.idRegimen);
            prest.setDouble(3, this.deuda);
            prest.setInt(4, this.mesesmorosos);
            prest.setString(5, this.estatus);
            prest.setString(6, this.comentario);
            prest.setString(7, "si");
            prest.setString(8, sesion.getIdmunicipio());
            prest.setDate(9, fecha);
            prest.setString(10, sesion.getUsername());
            int count = prest.executeUpdate();
            sesion.con.close();
            return true;
        } catch (Exception ex) {

            sesion.MostrarMensajeError("Error", "Clase:ArregloPagoBeans.java\nMetodo:Guardar() " + ex.getMessage().toString());
        }
        return false;
    }

    public boolean CargarListadoImpuestosArreglosPagos(String sql) {
        try {
            NumeroRegistrosLista = -1;
            RemoverElementosLista();

            if (sesion.Conectar() == false) {
                JOptionPane.showMessageDialog(null, "No se pudo establecer la conexion", "Mensaje", JOptionPane.INFORMATION_MESSAGE);
                return false;
            }

            String sqlquery = sql;
            PreparedStatement psquery = sesion.con.prepareStatement(sqlquery);
            ResultSet rs = psquery.executeQuery();
            rs.next();
            int x = rs.getRow();
            if (x == 0) {
//                JOptionPane.showMessageDialog(null, "No existen registros de contribuyentes con esa cedula", "Mensaje", JOptionPane.INFORMATION_MESSAGE);
                sesion.con.close();
                return false;
            }



            ListaIdRegimen.add(rs.getString("idregimen"));
            ListaRegimen.add(rs.getString("regimen"));
            ListaDeuda.add(rs.getDouble("deuda"));
            ListaMesesMorosos.add(rs.getInt("mesesmorosos"));
            ListaComentario.add(rs.getString("comentario"));

            NumeroRegistrosLista++;
            while (rs.next()) {
                ListaIdRegimen.add(rs.getString("idregimen"));
                ListaRegimen.add(rs.getString("regimen"));
                ListaDeuda.add(rs.getDouble("deuda"));
                ListaMesesMorosos.add(rs.getInt("mesesmorosos"));
                ListaComentario.add(rs.getString("comentario"));
                NumeroRegistrosLista++;
            }
            sesion.con.close();
            return true;
        } catch (Exception ex) {
            
            sesion.MostrarMensajeError("Error ", "Clase: ArregloPagoImpuestosBeans.java \nMetodo: CargarListadoImpuestosArreglosPagos()\n " + ex.getMessage().toString());
        }
        return false;
    }

    public void RemoverElementosLista() {
        ListaIdRegimen.removeAll(ListaIdRegimen);
        ListaRegimen.removeAll(ListaRegimen);
        ListaDeuda.removeAll(ListaDeuda);
        ListaMesesMorosos.removeAll(ListaMesesMorosos);
        ListaComentario.removeAll(ListaComentario);


    }
}
